<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Inno Setup 6 Revision History</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
    body         { font: small verdana, arial, sans-serif; color: black; background-color: white }
    a:link       { color: #264b99; background-color: white }
    a:active     { color: #7799dd; background-color: white }
    a:visited    { color: #5e85d7; background-color: white }
    tt           { font: small "courier new", monospace }
    li           { margin-top: 0.15em; margin-bottom: 0.15em }
    div.bluehead { text-align: center; color: white; background-color: #264b99; padding: 5px; font-weight: bold }
    .date        { font-size: x-small; font-weight: bold }
    .head1       { font-size: xx-large }
    .head2       { font-size: large }
    .ver         { font-size: large; font-weight: bold }
</style>
</head>
<body>

<div class="bluehead"><span class="head1">Inno Setup 6</span><br /><span class="head2">Revision History</span></div>

<p>Copyright &copy; 1997-2020 <a href="https://jrsoftware.org/">Jordan Russell</a>. All rights reserved.<br />
Portions Copyright &copy; 2000-2020 Martijn Laan. All rights reserved.<br />
For conditions of distribution and use, see <a href="https://jrsoftware.org/files/is/license.txt">LICENSE.TXT</a>.
</p>

<p><b>Want to be notified by e-mail of new Inno Setup releases?</b> <a href="https://jrsoftware.org/ismail.php">Subscribe</a> to the Inno Setup Mailing List!<br /><b>If you subscribed before October 2019, please resubscribe.</b></p>

<p><a name="6.1.0"></a><span class="ver">6.1.0-beta </span><span class="date">(2020-09-13)</span></p>
<p><span class="head2">Per-user fonts</span></p>
<p>Per-user fonts are now supported if Setup is running on Windows 10 Version 1803 and later:</p>
<ul>
  <li>[Files] section parameter <tt>FontInstall</tt> can now be used in <a href="https://jrsoftware.org/ishelp/index.php?topic=admininstallmode">non administrative installs</a>. Requires Windows 10 Version 1803 or later to successfully install a font.</li>
  <li>The <tt>{fonts}</tt> constant has been renamed to <tt>{commonfonts}</tt>.  The old name is still supported, but it is recommended to update your scripts to the new names and the compiler will issue a warning if you don't.</tt>
  <li>Added new <tt>{userfonts}</tt> constant. Only Windows 10 Version 1803 and later supports <tt>{userfonts}</tt>. Same directory as <tt>{localappdata}\Microsoft\Windows\Fonts</tt>.</li>
  <li>Added new <tt>{autofonts}</tt> constant which automatically maps to <tt>{commonfonts}</tt> unless the installation is running in non administrative install mode, in which case it maps to <tt>{userfonts}</tt>. It is recommended to update your scripts to use <tt>{autofonts}</tt> as much as possible to avoid mistakes.</li>
  <li>Updated all examples to use <tt>{autofonts}</tt> instead of <tt>{fonts}</tt>.</li>
  <li>Pascal Scripting change: The <tt>UnregisterFont</tt> support function now has an extra parameter.</li>
</ul>
<p><span class="head2">Compiler IDE updates</span></p>
<p>Various improvements have been made to the Compiler IDE:</p>
<ul>
  <li>If the script uses Inno Setup Preprocessor (ISPP) functionality, the Compiler IDE now automatically <a href="https://i.imgur.com/IVI2nk3.png">shows the preprocessor output</a> in a tab so you can check it. This can be turned off in the options.</li>
  <li>The Compiler IDE now automatically opens (up to 10) <tt>#include</tt> files in tabs which allow you to <a href="https://i.imgur.com/iDrhOSs.png">edit and debug</a> these files from within the Compiler IDE. The list of <tt>#include</tt> files is updated after opening a new main file and after each compilation. This can be turned off in the options. If the option is not turned off, a new <i>Save All</i> menu item is added to the <i>File</i> menu.</li>
  <li>If <tt>#include</tt> files are modified since last compile, the script is now automatically re-compiled before running it. This works even if the option to automatically open <tt>#include</tt> files is turned off.</li>
  <li>Added new <i>Next Tab</i> and <i>Previous Tab</i> menu items to the <i>View</i> menu.</li>
  <li>Added new topic to the help file explaining the various <a href="https://jrsoftware.org/ishelp/index.php?topic=scriptdebug">integrated debugger menu items</a> in the <i>Run</i> menu which can be used to debug your [Code] section.</li>
  <li><a href="https://i.imgur.com/wHoJ3FG.png">Improved highlighting</a> for the [CustomMessages] and [Messages] sections.</li>
  <li>Added new <a href="https://i.imgur.com/c9wGM3M.png">MessageBox Designer</a> menu item to the <i>Tools</i> menu to design and insert <tt>MsgBox</tt> or <tt>TaskDialogMsgBox</tt> calls for the [Code] section.</li>
  <li>Added new <i>Step Out</i> menu item to the <i>Run</i> menu to unpause Setup until it reaches the end of the current function, then pause it on the next line.</li>
  <li>Added buttons to the Welcome dialog to <a href="https://jrsoftware.org/isdonate.php">Donate</a> to support Inno Setup (Thank you!) and to <a href="https://jrsoftware.org/ismail.php">Subscribe</a> to the Inno Setup Mailing List to be notified by e-mail of new Inno Setup releases.</li>
  <li>The Run Parameters dialog now shows a list of most recently used parameters.</li>
</ul>
<p><span class="head2">Built-in download support for [Code]</span></p>
<p>Pascal Scripting now supports downloading files and checking SHA-256 hashes:</p>
<ul>
  <li>Added new <tt>DownloadTemporaryFile</tt> support function to download files without using a third-party tool:
  <ul>
    <li>Supports HTTPS (but not expired or self-signed certificates) and HTTP.</li>
    <li>Redirects are automatically followed and proxy settings are automatically used.</li>
    <li>Safe to use from services unlike existing third-party tools.</li>
    <li>Supports SHA-256 hash checking of the downloaded file.</li>
    <li>Supports basic authentication.</li>
  </ul>
  </li>
  <li>Added new <tt>CreateDownloadPage</tt> support function to easily <a href="https://i.imgur.com/deliPb8.png">show the download progress</a> to the user. See the new <i><a href="https://jrsoftware.github.io/issrc/Examples/CodeDownloadFiles.iss">CodeDownloadFiles.iss</a></i> example script for an example.</li>
  <li>Added new <tt>DownloadTemporaryFileSize</tt> support function to get the size of a file without downloading it.</li>
  <li>Added new <tt>GetSHA256OfFile</tt>, <tt>GetSHA256OfString</tt>, and <tt>GetSHA256OfUnicodeString</tt> support functions to calculate SHA-256 hashes.</li>
  <li><b>Change in default behavior:</b> Setup no longer disables itself entirely while <tt>PrepareToInstall</tt> is running. Instead only the Cancel button is disabled.</li>
</ul>
<p><span class="head2">Inno Setup Preprocessor (ISPP) updates</span></p>
<p>ISPP now uses 64-bit integers and has new functions to more easily compare version numbers:</p>
<ul>
  <li>ISPP's <tt>int</tt> type is now a signed 64-bit integer type.</tt>
  <li>Support function <tt>FileSize</tt> now supports 64-bit file sizes.</li>
  <li>Added new <tt>GetPackedVersion</tt>, <tt>PackVersionNumbers</tt>, <tt>PackVersionComponents</tt>, <tt>ComparePackedVersion</tt>, <tt>SamePackedVersion</tt>, <tt>UnpackVersionNumbers</tt>, <tt>UnpackVersionComponents</tt>, and <tt>VersionToStr</tt> support functions.</li>
  <li>Support function <tt>GetFileVersion</tt> and <tt>ParseVersion</tt> have been renamed to <tt>GetVersionNumbersString</tt> and <tt>GetVersionComponents</tt> respectively. The old names are still supported, but it is recommended to update your scripts to the new names and the compiler will issue a warning if you don't.</li>
</ul>
<p>Similar Pascal Scripting changes have been done for [Code]:</p>
<ul>
  <li>Added new <tt>FileSize64</tt> support function.</li>
  <li>Added new <tt>GetPackedVersion</tt>, <tt>PackVersionNumbers</tt>, <tt>PackVersionComponents</tt>, <tt>ComparePackedVersion</tt>, <tt>SamePackedVersion</tt>, <tt>UnpackVersionNumbers</tt>, <tt>UnpackVersionComponents</tt>, <tt>GetVersionComponents</tt>, and <tt>VersionToStr</tt> support functions. This makes ISPP and [Code] support the same list of version related functions.</li>
</ul>
<p><span class="head2">Other changes</span></p>
<ul>
  <li><i>Fix:</i> Inno Setup 6.0.5 no longer supported Windows Vista.</li>
  <li><b>Change in default behavior:</b> [Setup] section directive <tt>MinVersion</tt> now defaults to <tt>6.1sp1</tt>, so by default Setup will not run on Windows Vista or on versions of Windows 7 and Windows Server 2008 R2 which have not been updated. Setting <tt>MinVersion</tt> to <tt>6.0</tt> to allow Setup to run on Windows Vista is supported but not recommended: Windows Vista doesn't support some of Setup's security measures against potential DLL preloading attacks so these have to be removed by the compiler if <tt>MinVersion</tt> is below <tt>6.1</tt> making your installer less secure on all versions of Windows.</li>
  <li>Inno Setup's version number doesn't display &quot;(u)&quot; at the end anymore since the Unicode version has been the only version for quite some time now.</li>
  <li>Added new [Run] and [UninstallRun] sections flag: <tt>dontlogparameters</tt>. If this flag is specified, the command line parameters for the program will not be included in the log file.</li>
  <li>If there are [UninstallRun] section entries without a <tt>RunOnceId</tt> parameter the compiler will now warn you about this. By assigning a string to <tt>RunOnceId</tt>, you can ensure that a particular [UninstallRun] entry will only be executed once during uninstallation. The warning can be disabled using new [Setup] section directive <tt>MissingRunOnceIdsWarning</tt>.</li>
  <li>Added new [Icons] section parameter: <tt>AppUserModelToastActivatorCLSID</tt>. Specifies the Windows 10 Application User Model Toast Activator CLSID for the shortcut. Ignored on earlier Windows versions.</li>
  <li>Setup's prompts to overwrite or keep existing files have been made more user friendly:
  <ul>
    <li>Setup now shows <a href="https://i.imgur.com/AnF6qo8.png">more user friendly prompts</a> to overwrite or keep existing files if the <tt>confirmoverwrite</tt> flag is set.</li>
    <li>Setup now shows <a href="https://i.imgur.com/VBDuZ7U.png">more user friendly prompts</a> to keep or overwrite existing files if the <tt>promptifolder</tt> flag is set.</li>
  </ul>
  </li>
  <li>Console-mode compiler (ISCC) change: Warnings and errors are now <a href="https://i.imgur.com/9VvbFGJ.png">colorized</a>.</li>
  <li>Pascal Scripting changes:
  <ul>
    <li>Added new <tt>CalculateButtonWidth</tt> function to the <tt>TSetupForm</tt> support class.</li>
    <li>The <tt>ACaption</tt> and <tt>ADescription</tt> parameters of the various <tt>Create...Page</tt> support functions may now specify Setup messages containing shorthands like <tt>[name]</tt>.</li>
    <li><i>Fix:</i> Support function <tt>WizardSelectComponents</tt> now also updates component sizes and the current selection's required disk space.</li>
  </ul>
  </li>
  <li>ISPP changes:
  <ul>
    <li>Using <tt>#pragma verboselevel</tt> now automatically turns on verbose mode.</li>
    <li>Added new <tt>Message</tt>, <tt>Warning</tt>, and <tt>Error</tt> support functions.</li>
    <li>ISPP's output is now cleaner and warnings are colorized.</li>
  </ul>
  <li>Various documentation improvements.</li>
  <li>Minor tweaks.</li>
</ul>

<p>Contributions via <a href="https://github.com/jrsoftware/issrc" target="_blank">GitHub</a>: <b>Thanks to Gavin Lambert and Sergii Leonov for their contributions.</b></p>

<p>Some messages have been added and changed in this version: (<a href="https://github.com/jrsoftware/issrc/commit/9e03ea4de5b8639937d2c4024ec8582a7e63b048">View differences in Default.isl</a>).</p>
<ul>
  <li><b>New messages:</b>
  <ul>
    <li>DownloadingLabel, ButtonStopDownload, StopDownload, ErrorDownloadAborted, ErrorDownloadFailed, ErrorDownloadSizeFailed, ErrorFileHash1, ErrorFileHash2, ErrorProgress, ErrorFileSize.</li>
    <li>ExistingFileNewerSelectAction, ExistingFileNewer2, ExistingFileNewerOverwriteExisting, ExistingFileNewerKeepExisting, ExistingFileNewerOverwriteOrKeepAll.</li>
    <li>FileExistsSelectAction, FileExists2, FileExistsOverwriteExisting, FileExistsKeepExisting, FileExistsOverwriteOrKeepAll.</li>
  </ul>
  </li>
  <li><b>Previously optional messages which must now always be set:</b>
  <ul>
    <li>ComponentsDiskSpaceGBLabel, DiskSpaceGBLabel, PrepareToInstallNeedsRestart.</li>
  </ul>
  <li><b>Removed messages:</b>
  <ul>
    <li>ExistingFileNewer, FileExists.</li>
  </ul>
  </li>
</ul>

<p>Note: Not all official translations have been updated for these changes at this moment. <!-- Demoted the official <a href="https://raw.github.com/jrsoftware/issrc/main/Files/Languages/Unofficial/German.isl">German</a>, <a href="https://raw.github.com/jrsoftware/issrc/main/Files/Languages/Unofficial/Nepali.islu">Nepali</a>, <a href="https://raw.github.com/jrsoftware/issrc/main/Files/Languages/Unofficial/SerbianCyrillic.isl">Serbian (Cyrillic)</a> and <a href="https://raw.github.com/jrsoftware/issrc/main/Files/Languages/Unofficial/SerbianLatin.isl">Serbian (Latin)</a> translations to unofficial because of a no longer available maintainer. To send updates yourself, see <a href="http://news.jrsoftware.org/read/article.php?id=2514&amp;group=jrsoftware.innosetup.translations#2514">this post</a> for what needs updating and use <a href="https://jrsoftware.org/files/istrans/send2.php">this form</a> to send updates (or use <a href="https://github.com/jrsoftware/issrc" target="_blank">GitHub</a>). See the <a href="https://jrsoftware.org/files/istrans/">Inno Setup Translations</a> page for more information. --></li>

<p><a href="https://jrsoftware.org/files/is6.0-whatsnew.htm">Inno Setup 6.0 Revision History</a></p >

</body>
</html>
